The present invention generally relates to artificial intelligence systems, and more particularly to a fault diagnosis expert system that infers a cause of a machine fault on the basis of expert knowledge which is stored in a knowledge base.
Generally, a knowledge base used in a fault diagnosis expert system based on an expert model takes a structure of a so-called search tree in which causes and effects are linked together in a hierarchical fashion. In constructing this search tree structure of the knowledge base, an enumeration technique is usually selected. This enumeration technique is to enumerate all direct causes which may possibly produce a resulting event so that these direct causes respectively branch from the resulting event as a starting point of searching to form primary nodes of this search tree. And further enumerated from these primary nodes are subsequent causes which may directly produce each of the above described causes as an event resulting from those subsequent causes, and these direct causes respectively branch from each of the resulting events which then becomes a new starting point of searching so that secondary nodes of the search tree are formed.
However, there is a case in which a proper branching decision must be made depending on the previously traced events or nodes of the above described search tree. This branching decision is necessary for selecting which path of the search tree at branch points when reasoning or tracing back through the search tree during inference. In this respect, a conventional fault diagnosis expert system cannot supply an appropriate suggestion for branching, and may sometimes produce discrepancies between the observed causes and the inferred causes. For, the conventional fault diagnosis expert system is usually not designed to take considerations on the pretraced nodes of the search tree to make a proper searching for a true cause of machine trouble.
In addition, there are two kinds of the causes that constitute the nodes of the above described search tree. One of the two kinds of the causes is a cause for which a specific remedy for removing sources of trouble or eliminating occurrence of faults may be given to the user. This type of causes are called hereinafter a self-dependency cause. The other type is a cause which has no specific remedy, and a specific troubleshooting measure for removing sources of trouble is provided with another downstream cause in the search tree. This type of causes is called hereinafter an other-dependency cause. Generally, in a case of the self-dependency causes, it is possible to eliminate sources of trouble by taking a troubleshooting measure described together with that self-dependency cause. But, in a case of the other-dependency causes, it is not possible to remove sources of trouble as far as attention is paid to those other-dependency causes.
The fault diagnosis expert system generally carries out fault diagnosis in which one or more cause candidates for a true cause of machine trouble are detected by tracing back through the search tree. Taking troubleshooting measures that are given to the user with respect to each of these cause candidates allows the elimination of sources of machine trouble. However, the causes being predicted in a conventional fault diagnosis expert system have no difference between self-dependency and other-dependency. When the user detects an other-dependency cause among the cause candidates given as the diagnosis results, the user must further search for one or more self-dependency causes that may produce that other-dependency cause, and these self-dependency causes exist at deeper nodes of the search tree than such other-dependency cause. Such a task for additional searchings with the fault diagnosis knowledge base costs the user unnecessary time and work.